using System;
using System.Collections;
using Curriculum.Modelo.Clases;
using Curriculum.DataAccess.Server;
using Curriculum.Db4oHttpModule;
using System.Web;
using Db4objects;


namespace Curriculum.Services
{
	/// <summary>
	/// Summary description for JuradoService.
	/// </summary>
	public class JuradoService : ServiceBase
	{	
		#region Constructors

		public JuradoService()
		{			
		}

		#endregion		

		#region Overrides

		protected override Type GetMyObjectType()
		{
			return typeof(Jurado);
		}

		#endregion
		
		public Jurado ObtenerJurado(object juradoId)
		{
			return base.ObtenerObjetoPorId(typeof(Jurado), juradoId.ToString()) as Jurado;
		}
		/// <summary>
		/// Crea un Jurado
		/// </summary>
		/// <param name="jurado"></param>
		/// <returns>retorna el id con el que se dio de alta el jurado</returns>
		public object CrearJurado(Jurado jurado)
		{
			return base.Crear(jurado);
		}
		/// <summary>
		/// Modifica un Jurado
		/// </summary>
		/// <param name="jurado"></param>
		/// <returns>retorna el id del jurado</returns>
		public object ModificarJurado(Jurado jurado)
		{
			return base.Modificar(jurado);
		}
		/// <summary>
		/// Elimina un Jurado
		/// </summary>
		/// <param name="juradoId">id del jurado que se quiere eliminar</param>
		/// <returns></returns>
		public void EliminarJurado(object juradoId)
		{
			base.Eliminar(typeof(Jurado), juradoId);
		}

		public IList GetJurados(string apellido, string nombre, string institucionId)
		{
			return dataManager.GetJurados(apellido,nombre, institucionId);
		}

		public IList GetJurados(string nombre)
		{
			return dataManager.GetJurados(string.Empty, nombre, string.Empty);
		}	

		public IList ObtenerConcursosNoCerradosAsignados( string juradoId )
		{
			return dataManager.GetConcursosNoCerradosByJurado(juradoId);
		}
	}
}
